\chapter{Tenon源文件编译接口}

Compiler类是编译Tenon源文件的接口类。

\section{示例}

下面的代码片段将若干个Tenon源文件分别编译之后打包成一个tbin文件。

\begin{verbatim}
tlang::Compiler compiler;
compiler.setOutput("/path/to/out.tbin");
compiler.addInput("/path/to/in1.t");
compiler.addInput("/path/to/in2.t");
compiler.execute();
\end{verbatim}

\section{Compiler类}

Compiler类提供了编译Tenon源文件的接口。生成一个Compiler对象之后，就可以用它编译
一个或者多个Tenon源文件，并直接生成打包tbin文件。

\subsection{Compiler::setOutput}

设置输出的tbin文件的完整路径。

\subsection{Compiler::addInput}

添加要编译的Tenon源文件模块。所有添加的模块都会打包到tbin文件中。

\subsection{Compiler::execute}

执行编译打包过程。

\subsection{Compiler::setDebugMode}

指定编译时是否生成调试信息。

\subsection{Compiler::transferTask}

获取编译出来的Task对象，交给其他模块使用。如果要转移Task给其他模块，要注意Compiler使用的memory resource
对象必须是能够跟随Task传递的，因为Task里保留了对编译时使用的memory resource的引用。
